package com.fas.system.domain;

import com.fas.system.domain.vo.LongJsonDeserializer;
import com.fas.system.domain.vo.LongJsonSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 巡检任务 fas_inspection_task
 */
@Data
public class FasInspectionTask implements Serializable {

    @JsonSerialize(using = LongJsonSerializer.class)
    @JsonDeserialize(using = LongJsonDeserializer.class)
    private Long id;//巡检任务主键
    private Integer deptId;//单位id
    private String inspectionDate;//	巡检时间

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date plannedCompletionTime;//计划完成时间
    @JsonSerialize(using = LongJsonSerializer.class)
    @JsonDeserialize(using = LongJsonDeserializer.class)
    private Long lineId;//巡检线路id
    private Integer status;// 巡检路线状态（0：已完成，1：进行中，2：待开始）
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date taskDate;// 任务开始时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;// 任务创建时间

    // 非表字段
    private Integer taskNum = 0;//任务数量
    private Integer lineCompleteNum = 0; //已检数量
    private Integer unCheckNum = 0; //未检数量

    private String deptName; //单位名称
    private String lineName;//路线名称
    private String groupName;//巡检组名称
    private Integer inoutFlag;//室内室外标志（室内路线：0，室外路线：1）
    private Integer cooperationCompanyId; //合作单位id
    private String companyName; //合作单位名称
    private Integer type; //1:待巡检任务  2：已巡检任务

    private double completionRate;//巡检完成率

}
